ASP.NET

推荐列表 站点导航

当前位置:首页 > 脚本编程 > ASP.NET >

PS: 如果项目中使用了通用主机或者ASP.NET Core

来源:网络  作者:网友投稿  发布时间:2021-01-12 21:14
这篇文章主要先容了如何将EF Core生成的SQL语句显示在节制台中,辅佐各人更好的领略和进修.net core,感乐趣的伴侣可...

可是有一个问题是我们只想查察输出的SQL语句, UserName = Lamond Lu}); dbContext.SaveChanges(); } } } 从头运行措施, FuncTState, 一个是日志接口ILogger EFLoggerProvider.cs ? 1 2 3 4 public class EFLoggerProvider : ILoggerProvider { public ILogger CreateLogger (string categoryName) = new EFLogger (categoryName); public void Dispose () { } } EFLoggerProvider的代码很是的简朴, TState state,你需要通过DbContextOptionsBuilder工具的EnableSensitiveDataLogging要领修改敏感数据日志设置。

这里我们需要复写上下文类的OnConfiguring要领。

假如你想要查察敏感数据。

? 1 2 3 services.AddDbContextMyDbContext(options = options.UseSqlServer(Configuration.GetConnectionString(MyDb)) .UseLoggerFactory(new LoggerFactory())); 如何去除无关日志? 在前面的步调中, 下面我们修改一下我们的主措施,高亮了生成的SQL语句, Exception exception,从头启动项目之后,通过修改节制台输出文本的颜色, Exception,其他的信息我们都不想要, ? 1 2 3 4 5 6 7 8 public class MyDbContext : DbContext { public MyDbContext (DbContextOptionsMyDbContext options) : base (options) { } public DbSetUser Users { get; set; } } ? 1 2 3 4 5 6 public class User { [Key] public Guid UserId { get; set;} public string UserName { get; set;} } 如何生成的SQL语句输出到节制台? .NET Core中提供了很是完善的日志接口,就是直接返回一个我们后续建设的EFLogger工具,我们需要实现2个接口,一个是日志提供器接口ILoggerProvider, 最后我们还需要将自界说的日志处理惩罚类和EF Core集成起来,那么除了利用第三方东西。

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public void LogTState (LogLevel logLevel。

Exception, Exception exception,通过DbContextOptions参数设置,那么相识EF Core生成的SQL语句长短常要害的,该日志即生成的SQL语句部门,在个中通过UseLoggerFactory要领。

以上就是.net core实用能力将EF Core生成的SQL语句显示在节制台中的具体内容, PS: 假如项目中利用了通用主机可能ASP.NET Core,在主措施中我们编写了一个最简朴的EF查询, ? 1 2 3 4 5 6 7 8 9 10 11 12 class Program { static void Main (string[] args) { var dbOptionBuilder = new DbContextOptionsBuilderMyDbContext (); dbOptionBuilder.UseMySql (server=localhost;port=3306;database=EFCoreSampleDB;userid=root;pwd=a@12345); using (var dbContext = new MyDbContext (dbOptionBuilder.Options)) { dbContext.Users.Add(new User { UserId = Guid.NewGuid(),更多关于.net core实用能力的资料请存眷聚合云库其它相关文章! 原文链接:https://www.cnblogs.com/lwqlun/p/13551149.html ,你会获得一下功效,这里为了和.NET Core的日志接口集成, 建设一个实例项目 我们首先建一个节制台措施, EFLogger.cs ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class EFLogger : ILogger { private readonly string categoryName; public EFLogger (string categoryName) = this.categoryName = categoryName; public bool IsEnabled (LogLevel logLevel) = true; public void LogTState (LogLevel logLevel,你就能看到@p0,当前上下文中只有一个User实体, 且正在处于机能调优阶段, 我们可以在Log要领中, 你也可以在处事设置部门。

我们实验插入一条User信息, string formatter) { var logContent = formatter (state, 这里你大概会问为什么不显示@p0。

可是在实际利用中, TState state。

那么能不能去除去这些无关日志呢?谜底是必定的,将我们自界说的日志处理惩罚类和EF Core的日志系统关联起来, exception); Console.WriteLine (); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine (logContent); Console.ResetColor (); } } 这里我们也做了一些其他的操纵,通过度类名称, ? 1 2 3 4 5 6 7 8 9 10 11 12 class Program { static void Main (string[] args) { var dbOptionBuilder = new DbContextOptionsBuilderMyDbContext(); dbOptionBuilder .UseMySql(server=localhost;port=3306;database=EFCoreSampleDB;userid=root;pwd=a@12345); using (var dbContext = new MyDbContext(dbOptionBuilder.Options)) { var query = dbContext.Users.ToList(); } } } 这里为了演示,如何查察EF Core生成的SQL语句呢?这里笔者将给出一个基于.NET Core内置日志组件的实现方法,该实体只有2个属性UserId和UserName,并在项目中建设了一个对应的EF Core上下文,EF Core默认封锁的敏感数据的显示设置,这里是原因是为了掩护敏感数据, string formatter) { if (categoryName == DbLoggerCategory.Database.Command.Name logLevel == LogLevel.Information) { var logContent = formatter (state, EventId eventId, @p1参数的值, ? 1 2 3 4 5 6 7 8 protected override void OnConfiguring (DbContextOptionsBuilder optionsBuilder) { var loggerFactory = new LoggerFactory (); loggerFactory.AddProvider (new EFLoggerProvider ()); optionsBuilder.EnableSensitiveDataLogging (true); optionsBuilder.UseLoggerFactory (loggerFactory); base.OnConfiguring (optionsBuilder); } 从头启动项目之后, FuncTState, @p1参数的值了,结果如下, exception); Console.WriteLine (); Console.WriteLine (logContent); } } public IDisposable BeginScopeTState (TState state) = null; } 这里我们主要利用了内置的formatter名目化了日志信息,我们乐成的输出了查询语句,你还会碰到别的一个问题, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class MyDbContext : DbContext { public MyDbContext (DbContextOptionsMyDbContext options) : base (options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var loggerFactory = new LoggerFactory (); loggerFactory.AddProvider(new EFLoggerProvider()); optionsBuilder.UseLoggerFactory(loggerFactory); base.OnConfiguring(optionsBuilder); } public DbSetUser Users { get; set; } } 下面我们启动项目, 如何显示敏感数据? 这里看似我们已经完成了EF Core的语句输出。

这里日志信息正确的显示出来了, 假如你的项目中利用了EF Core,看一下结果, EventId eventId,我们提前建设了一个MySql数据库,只输出Microsoft.EntityFrameworkCore.Database.Command分类下的日志,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/net/12434.shtml

最新文章
 PS:这里需要注意 PS:这里需要注意

时间:2021-01-22

以为这个版本出来 以为这个版本出来

时间:2021-01-22

搜索winform designer 搜索winform designer

时间:2021-01-22

全新的membership框架Asp.ne 全新的membership框架Asp.ne

时间:2021-01-21

i dont know;18if (msg.Contains( i dont know;18if (msg.Contains(

时间:2021-01-21

统筹管理路由规则. 统筹管理路由规则.

时间:2021-01-21

根据switch-case语句来逐一判 根据switch-case语句来逐一判

时间:2021-01-21

EntityFramework 5.0 CodeFirst 教 EntityFramework 5.0 CodeFirst 教

时间:2021-01-21

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

PS: 如果项目中使用了通用主机或者ASP.NET Core

2021-01-12 编辑:网友投稿

可是有一个问题是我们只想查察输出的SQL语句, UserName = Lamond Lu}); dbContext.SaveChanges(); } } } 从头运行措施, FuncTState, 一个是日志接口ILogger EFLoggerProvider.cs ? 1 2 3 4 public class EFLoggerProvider : ILoggerProvider { public ILogger CreateLogger (string categoryName) = new EFLogger (categoryName); public void Dispose () { } } EFLoggerProvider的代码很是的简朴, TState state,你需要通过DbContextOptionsBuilder工具的EnableSensitiveDataLogging要领修改敏感数据日志设置。

这里我们需要复写上下文类的OnConfiguring要领。

假如你想要查察敏感数据。

? 1 2 3 services.AddDbContextMyDbContext(options = options.UseSqlServer(Configuration.GetConnectionString(MyDb)) .UseLoggerFactory(new LoggerFactory())); 如何去除无关日志? 在前面的步调中, 下面我们修改一下我们的主措施,高亮了生成的SQL语句, Exception exception,从头启动项目之后,通过修改节制台输出文本的颜色, Exception,其他的信息我们都不想要, ? 1 2 3 4 5 6 7 8 public class MyDbContext : DbContext { public MyDbContext (DbContextOptionsMyDbContext options) : base (options) { } public DbSetUser Users { get; set; } } ? 1 2 3 4 5 6 public class User { [Key] public Guid UserId { get; set;} public string UserName { get; set;} } 如何生成的SQL语句输出到节制台? .NET Core中提供了很是完善的日志接口,就是直接返回一个我们后续建设的EFLogger工具,我们需要实现2个接口,一个是日志提供器接口ILoggerProvider, 最后我们还需要将自界说的日志处理惩罚类和EF Core集成起来,那么除了利用第三方东西。

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public void LogTState (LogLevel logLevel。

Exception, Exception exception,通过DbContextOptions参数设置,那么相识EF Core生成的SQL语句长短常要害的,该日志即生成的SQL语句部门,在个中通过UseLoggerFactory要领。

以上就是.net core实用能力将EF Core生成的SQL语句显示在节制台中的具体内容, PS: 假如项目中利用了通用主机可能ASP.NET Core,在主措施中我们编写了一个最简朴的EF查询, ? 1 2 3 4 5 6 7 8 9 10 11 12 class Program { static void Main (string[] args) { var dbOptionBuilder = new DbContextOptionsBuilderMyDbContext (); dbOptionBuilder.UseMySql (server=localhost;port=3306;database=EFCoreSampleDB;userid=root;pwd=a@12345); using (var dbContext = new MyDbContext (dbOptionBuilder.Options)) { dbContext.Users.Add(new User { UserId = Guid.NewGuid(),更多关于.net core实用能力的资料请存眷聚合云库其它相关文章! 原文链接:https://www.cnblogs.com/lwqlun/p/13551149.html ,你会获得一下功效,这里为了和.NET Core的日志接口集成, 建设一个实例项目 我们首先建一个节制台措施, EFLogger.cs ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class EFLogger : ILogger { private readonly string categoryName; public EFLogger (string categoryName) = this.categoryName = categoryName; public bool IsEnabled (LogLevel logLevel) = true; public void LogTState (LogLevel logLevel,你就能看到@p0,当前上下文中只有一个User实体, 且正在处于机能调优阶段, 我们可以在Log要领中, 你也可以在处事设置部门。

我们实验插入一条User信息, string formatter) { var logContent = formatter (state, 这里你大概会问为什么不显示@p0。

可是在实际利用中, TState state。

那么能不能去除去这些无关日志呢?谜底是必定的,将我们自界说的日志处理惩罚类和EF Core的日志系统关联起来, exception); Console.WriteLine (); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine (logContent); Console.ResetColor (); } } 这里我们也做了一些其他的操纵,通过度类名称, ? 1 2 3 4 5 6 7 8 9 10 11 12 class Program { static void Main (string[] args) { var dbOptionBuilder = new DbContextOptionsBuilderMyDbContext(); dbOptionBuilder .UseMySql(server=localhost;port=3306;database=EFCoreSampleDB;userid=root;pwd=a@12345); using (var dbContext = new MyDbContext(dbOptionBuilder.Options)) { var query = dbContext.Users.ToList(); } } } 这里为了演示,如何查察EF Core生成的SQL语句呢?这里笔者将给出一个基于.NET Core内置日志组件的实现方法,该实体只有2个属性UserId和UserName,并在项目中建设了一个对应的EF Core上下文,EF Core默认封锁的敏感数据的显示设置,这里是原因是为了掩护敏感数据, string formatter) { if (categoryName == DbLoggerCategory.Database.Command.Name logLevel == LogLevel.Information) { var logContent = formatter (state, EventId eventId, @p1参数的值, ? 1 2 3 4 5 6 7 8 protected override void OnConfiguring (DbContextOptionsBuilder optionsBuilder) { var loggerFactory = new LoggerFactory (); loggerFactory.AddProvider (new EFLoggerProvider ()); optionsBuilder.EnableSensitiveDataLogging (true); optionsBuilder.UseLoggerFactory (loggerFactory); base.OnConfiguring (optionsBuilder); } 从头启动项目之后, FuncTState, @p1参数的值了,结果如下, exception); Console.WriteLine (); Console.WriteLine (logContent); } } public IDisposable BeginScopeTState (TState state) = null; } 这里我们主要利用了内置的formatter名目化了日志信息,我们乐成的输出了查询语句,你还会碰到别的一个问题, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class MyDbContext : DbContext { public MyDbContext (DbContextOptionsMyDbContext options) : base (options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var loggerFactory = new LoggerFactory (); loggerFactory.AddProvider(new EFLoggerProvider()); optionsBuilder.UseLoggerFactory(loggerFactory); base.OnConfiguring(optionsBuilder); } public DbSetUser Users { get; set; } } 下面我们启动项目, 如何显示敏感数据? 这里看似我们已经完成了EF Core的语句输出。

这里日志信息正确的显示出来了, 假如你的项目中利用了EF Core,看一下结果, EventId eventId,我们提前建设了一个MySql数据库,只输出Microsoft.EntityFrameworkCore.Database.Command分类下的日志,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/net/12434.shtml

相关文章

风云图片

推荐阅读

返回ASP.NET频道首页